home *** CD-ROM | disk | FTP | other *** search
- /*
- * Definitions to access the functions and constants provided
- * by the kernel with `struct kerinfo'.
- *
- * 09/25/93, kay roemer
- */
-
- #ifndef _KERBIND_H
- #define _KERBIND_H
-
- #include "config.h"
- #include "file.h"
-
- /* name of the global defined `struct kerinfo *', returned from the kernel */
- #define KERINFO kernelinfo
- extern struct kerinfo *KERINFO;
-
- /* GEMDOS functions */
- #define p_term0 (*KERINFO->dos_tab[0x000])
- #define c_conin (*KERINFO->dos_tab[0x001])
- #define c_conout (*KERINFO->dos_tab[0x002])
- #define c_auxin (*KERINFO->dos_tab[0x003])
- #define c_auxout (*KERINFO->dos_tab[0x004])
- #define c_prnout (*KERINFO->dos_tab[0x005])
- #define c_rawio (*KERINFO->dos_tab[0x006])
- #define c_rawcin (*KERINFO->dos_tab[0x007])
- #define c_necin (*KERINFO->dos_tab[0x008])
- #define c_conws (*KERINFO->dos_tab[0x009])
- #define c_conrs (*KERINFO->dos_tab[0x00a])
- #define c_conis (*KERINFO->dos_tab[0x00b])
- #define d_setdrv (*KERINFO->dos_tab[0x00e])
- #define c_conos (*KERINFO->dos_tab[0x010])
- #define c_prnos (*KERINFO->dos_tab[0x011])
- #define c_auxis (*KERINFO->dos_tab[0x012])
- #define c_auxos (*KERINFO->dos_tab[0x013])
- #define d_getdrv (*KERINFO->dos_tab[0x019])
- #define f_setdta (*KERINFO->dos_tab[0x01a])
- #define s_uper (*KERINFO->dos_tab[0x020])
- #define t_getdate (*KERINFO->dos_tab[0x02a])
- #define t_setdate (*KERINFO->dos_tab[0x02b])
- #define t_gettime (*KERINFO->dos_tab[0x02c])
- #define t_settime (*KERINFO->dos_tab[0x02d])
- #define f_getdta (*KERINFO->dos_tab[0x02f])
- #define s_version (*KERINFO->dos_tab[0x030])
- #define p_termres (*KERINFO->dos_tab[0x031])
- #define d_free (*KERINFO->dos_tab[0x036])
- #define d_create (*KERINFO->dos_tab[0x039])
- #define d_delete (*KERINFO->dos_tab[0x03a])
- #define d_setpath (*KERINFO->dos_tab[0x03b])
- #define f_create(a,b) (*KERINFO->dos_tab[0x03c]) ((long)(a), (short)(b))
- #define f_open(a,b) (*KERINFO->dos_tab[0x03d]) ((long)(a), (short)(b))
- #define f_close(a) (*KERINFO->dos_tab[0x03e]) ((short)(a))
- #define f_read(a,b,c) (*KERINFO->dos_tab[0x03f]) ((short)(a), (long)(b), (long)(c))
- #define f_write(a,b,c) (*KERINFO->dos_tab[0x040]) ((short)(a), (long)(b), (long)(c))
- #define f_delete (*KERINFO->dos_tab[0x041])
- #define f_seek (*KERINFO->dos_tab[0x042])
- #define f_attrib (*KERINFO->dos_tab[0x043])
- #define f_dup(a) (*KERINFO->dos_tab[0x045]) ((short)(a))
- #define f_force (*KERINFO->dos_tab[0x046])
- #define d_getpath(a,b) (*KERINFO->dos_tab[0x047]) ((long)(a), (short)(b))
- #define m_alloc (*KERINFO->dos_tab[0x048])
- #define m_free (*KERINFO->dos_tab[0x049])
- #define m_shrink(a,b,c) (*KERINFO->dos_tab[0x04a]) ((short)(a), (long)(b), (long)(c))
- #define p_exec(a,b,c,d) (*KERINFO->dos_tab[0x04b]) ((short)(a), (long)(b), (long)(c), (long)(d))
- #define p_term (*KERINFO->dos_tab[0x04c])
- #define f_sfirst(a,b) (*KERINFO->dos_tab[0x04e]) ((long)(a), (short)(b))
- #define f_snext (*KERINFO->dos_tab[0x04f])
- #define f_rename (*KERINFO->dos_tab[0x056])
- #define f_datime (*KERINFO->dos_tab[0x057])
-
- /* MiNT GEMDOS extensions */
- #define s_yield (*KERINFO->dos_tab[0x0ff])
- #define f_pipe (*KERINFO->dos_tab[0x100])
- #define f_cntl(a,b,c) (*KERINFO->dos_tab[0x104]) ((short)(a), (long)(b), (short) (c))
- #define f_instat (*KERINFO->dos_tab[0x105])
- #define f_outstat (*KERINFO->dos_tab[0x106])
- #define f_getchar (*KERINFO->dos_tab[0x107])
- #define f_putchar (*KERINFO->dos_tab[0x108])
- #define p_wait (*KERINFO->dos_tab[0x109])
- #define p_nice (*KERINFO->dos_tab[0x10a])
- #define p_getpid (*KERINFO->dos_tab[0x10b])
- #define p_getppid (*KERINFO->dos_tab[0x10c])
- #define p_getpgrp (*KERINFO->dos_tab[0x10d])
- #define p_setpgrp (*KERINFO->dos_tab[0x10e])
- #define p_getuid (*KERINFO->dos_tab[0x10f])
- #define p_setuid (*KERINFO->dos_tab[0x110])
- #define p_kill(a,b) (*KERINFO->dos_tab[0x111]) ((short)(a), (short)(b))
- #define p_signal (*KERINFO->dos_tab[0x112])
- #define p_vfork (*KERINFO->dos_tab[0x113])
- #define p_getgid (*KERINFO->dos_tab[0x114])
- #define p_setgid (*KERINFO->dos_tab[0x115])
- #define p_sigblock (*KERINFO->dos_tab[0x116])
- #define p_sigsetmask (*KERINFO->dos_tab[0x117])
- #define p_usrval (*KERINFO->dos_tab[0x118])
- #define p_domain (*KERINFO->dos_tab[0x119])
- #define p_sigreturn (*KERINFO->dos_tab[0x11a])
- #define p_fork (*KERINFO->dos_tab[0x11b])
- #define p_wait3 (*KERINFO->dos_tab[0x11c])
- #define f_select (*KERINFO->dos_tab[0x11d])
- #define p_rusage (*KERINFO->dos_tab[0x11e])
- #define p_setlimit (*KERINFO->dos_tab[0x11f])
- #define t_alarm (*KERINFO->dos_tab[0x120])
- #define p_ause (*KERINFO->dos_tab[0x121])
- #define s_ysconf (*KERINFO->dos_tab[0x122])
- #define p_sigpending (*KERINFO->dos_tab[0x123])
- #define d_pathconf (*KERINFO->dos_tab[0x124])
- #define p_msg (*KERINFO->dos_tab[0x125])
- #define f_midipipe (*KERINFO->dos_tab[0x126])
- #define p_renice (*KERINFO->dos_tab[0x127])
- #define d_opendir (*KERINFO->dos_tab[0x128])
- #define d_readdir (*KERINFO->dos_tab[0x129])
- #define d_rewinddir (*KERINFO->dos_tab[0x12a])
- #define d_closedir (*KERINFO->dos_tab[0x12b])
- #define f_xattr(a,b,c) (*KERINFO->dos_tab[0x12c]) ((short)(a), (long)(b), (long)(c))
- #define f_link (*KERINFO->dos_tab[0x12d])
- #define f_symlink (*KERINFO->dos_tab[0x12e])
- #define f_readlink (*KERINFO->dos_tab[0x12f])
- #define d_cntl(a,b,c) (*KERINFO->dos_tab[0x130]) ((short)(a), (long)(b), (long)(c))
- #define f_chown (*KERINFO->dos_tab[0x131])
- #define f_chmod (*KERINFO->dos_tab[0x132])
- #define p_umask (*KERINFO->dos_tab[0x133])
- #define p_semaphore (*KERINFO->dos_tab[0x134])
- #define d_lock (*KERINFO->dos_tab[0x135])
- #define p_sigpause (*KERINFO->dos_tab[0x136])
- #define p_sigaction (*KERINFO->dos_tab[0x137])
- #define p_geteuid (*KERINFO->dos_tab[0x138])
- #define p_getegid (*KERINFO->dos_tab[0x139])
- #define p_waitpid (*KERINFO->dos_tab[0x13a])
- #define d_getcwd (*KERINFO->dos_tab[0x13b])
- #define s_alert (*KERINFO->dos_tab[0x13c])
-
- /* BIOS functions */
- #define g_etmpb (*KERINFO->bios_tab[0x000])
- #define b_constat (*KERINFO->bios_tab[0x001])
- #define b_conin (*KERINFO->bios_tab[0x002])
- #define b_conout (*KERINFO->bios_tab[0x003])
- #define r_wabs (*KERINFO->bios_tab[0x004])
- #define s_etexec (*KERINFO->bios_tab[0x005])
- #define t_ickcal (*KERINFO->bios_tab[0x006])
- #define g_getbpb (*KERINFO->bios_tab[0x007])
- #define b_costat (*KERINFO->bios_tab[0x008])
- #define m_ediach (*KERINFO->bios_tab[0x009])
- #define d_rvmap (*KERINFO->bios_tab[0x00a])
- #define k_bshift (*KERINFO->bios_tab[0x00b])
-
- /* kernel provided utility functions and constants */
- #define MAJ_VERSION (KERINFO->maj_version)
- #define MIN_VERSION (KERINFO->min_version)
- #define DEF_MODE (KERINFO->default_mode)
-
- #define drvchng (*KERINFO->drvchng)
-
- #ifdef NDEBUG
- #define DEBUG(a)
- #define TRACE(a)
- #else
- #define TRACE(a) (*KERINFO->trace) a
- #define DEBUG(a) (*KERINFO->debug) a
- #endif
- #define ALERT(a) (*KERINFO->alert) a
- #define FATAL(a) (*KERINFO->fatal) a
-
- #define kmalloc (*KERINFO->kmalloc)
- #define kfree (*KERINFO->kfree)
- #define umalloc (*KERINFO->umalloc)
- #define ufree (*KERINFO->ufree)
-
- #define strnicmp (*KERINFO->strnicmp)
- #define stricmp (*KERINFO->stricmp)
- #define strlwr (*KERINFO->strlwr)
- #define strupr (*KERINFO->strupr)
- #define sprintf (*KERINFO->sprintf)
-
- #define millis_time (*KERINFO->millis_time)
- #define unixtim (*KERINFO->unixtim)
- #define dostim (*KERINFO->dostim)
-
- #define nap (*KERINFO->nap)
- #define sleep(a,b) (*KERINFO->sleep)(a,b)
- #define isleep(a,b) (*KERINFO->sleep)(a,b)
-
- /* process queues */
- #define CURPROC_Q 0
- #define READY_Q 1
- #define WAIT_Q 2
- #define IO_Q 3
- #define ZOMBIE_Q 4
- #define TSR_Q 5
- #define STOP_Q 6
- #define SELECT_Q 7
-
- #define wake (*KERINFO->wake)
- #define wakeselect (*KERINFO->wakeselect)
-
- #define denyshare (*KERINFO->denyshare)
- #define denylock (*KERINFO->denylock)
-
- #define addtimeout (*KERINFO->addtimeout)
- #define canceltimeout (*KERINFO->canceltimeout)
- #define addroottimeout (*KERINFO->addroottimeout)
- #define cancelroottimeout (*KERINFO->cancelroottimeout)
- #define ikill (*KERINFO->ikill)
- #define iwake (*KERINFO->iwake)
-
- #endif /* _KERBIND_H */
-